package top.continew.admin.generator.service;

import com.baomidou.mybatisplus.extension.service.IService;
import top.continew.admin.generator.model.entity.TaskTransferDO;
import top.continew.admin.generator.model.req.TransferApplyReq;
import top.continew.admin.generator.model.req.TransferHandleReq;
import top.continew.admin.generator.model.resp.TransferChainResp;

import java.util.List;

/**
 * 任务转派服务接口
 */
public interface TaskTransferService extends IService<TaskTransferDO> {

    /**
     * 申请转派
     *
     * @param req 转派申请请求
     */
    void applyTransfer(TransferApplyReq req);

    /**
     * 处理转派
     *
     * @param req 转派处理请求
     */
    void handleTransfer(TransferHandleReq req);

    /**
     * 获取转派链条
     *
     * @param taskId 任务ID
     * @return 转派链条列表
     */
    List<TransferChainResp> getTransferChain(Long taskId);

}